// SPDX-License-Identifier: GPL-2.0+
/*
 * Device Tree file for the Kontron SMARC-sAL28 board.
 *
 * Copyright (C) 2019 Michael Walle <michael@walle.cc>
 *
 */

/dts-v1/;
#include "fsl-ls1028a.dtsi"

/ {
	model = "Kontron SMARC-sAL28";
	compatible = "kontron,sl28", "fsl,ls1028a";

	aliases {
		crypto = &crypto;
		serial0 = &duart0;
		serial1 = &duart1;
		serial2 = &lpuart1;
		spi0 = &fspi;
		spi1 = &dspi2;
	};

	chosen {
		stdout-path = "serial0:115200n8";
	};
};

&dspi2 {
	status = "okay";
};

&duart0 {
	status = "okay";
};

&duart1 {
	status = "okay";
};

&enetc_port0 {
	phy-handle = <&phy0>;
	phy-connection-type = "sgmii";
	status = "okay";

	mdio {
		#address-cells = <1>;
		#size-cells = <0>;

		phy0: ethernet-phy@5 {
			reg = <0x5>;
			eee-broken-1000t;
			eee-broken-100tx;
		};
	};
};

&esdhc {
	sd-uhs-sdr104;
	sd-uhs-sdr50;
	sd-uhs-sdr25;
	sd-uhs-sdr12;
	status = "okay";
};

&esdhc1 {
	mmc-hs200-1_8v;
	mmc-hs400-1_8v;
	bus-width = <8>;
	status = "okay";
};

&fspi {
	status = "okay";

	flash@0 {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "jedec,spi-nor";
		m25p,fast-read;
		spi-max-frequency = <133000000>;
		reg = <0>;
		/* The following setting enables 1-1-2 (CMD-ADDR-DATA) mode */
		spi-rx-bus-width = <2>; /* 2 SPI Rx lines */
		spi-tx-bus-width = <1>; /* 1 SPI Tx line */

		partition@0 {
			reg = <0x000000 0x010000>;
			label = "rcw";
			read-only;
		};

		partition@10000 {
			reg = <0x010000 0x0f0000>;
			label = "failsafe bootloader";
			read-only;
		};

		partition@100000 {
			reg = <0x100000 0x040000>;
			label = "failsafe DP firmware";
			read-only;
		};

		partition@140000 {
			reg = <0x140000 0x0a0000>;
			label = "failsafe trusted firmware";
			read-only;
		};

		partition@1e0000 {
			reg = <0x1e0000 0x020000>;
			label = "reserved";
			read-only;
		};

		partition@200000 {
			reg = <0x200000 0x010000>;
			label = "configuration store";
		};

		partition@210000 {
			reg = <0x210000 0x0f0000>;
			label = "bootloader";
		};

		partition@300000 {
			reg = <0x300000 0x040000>;
			label = "DP firmware";
		};

		partition@340000 {
			reg = <0x340000 0x0a0000>;
			label = "trusted firmware";
		};

		partition@3e0000 {
			reg = <0x3e0000 0x020000>;
			label = "bootloader environment";
		};
	};
};

&gpio1 {
	gpio-line-names =
		"", "", "", "", "", "", "", "",
		"", "", "", "", "", "", "", "",
		"", "", "", "", "", "", "TDO", "TCK",
		"", "", "", "", "", "", "", "";
};

&gpio2 {
	gpio-line-names =
		"", "", "", "", "", "", "TMS", "TDI",
		"", "", "", "", "", "", "", "",
		"", "", "", "", "", "", "", "",
		"", "", "", "", "", "", "", "";
};

&i2c0 {
	status = "okay";

	rtc@32 {
		compatible = "microcrystal,rv8803";
		reg = <0x32>;
	};

	eeprom@50 {
		compatible = "atmel,24c32";
		reg = <0x50>;
		pagesize = <32>;
	};
};

&i2c3 {
	status = "okay";
};

&i2c4 {
	status = "okay";

	eeprom@50 {
		compatible = "atmel,24c32";
		reg = <0x50>;
		pagesize = <32>;
	};
};

&lpuart1 {
	status = "okay";
};
